<!-- Start Document Outline -->

* [Chapter_first](#chapter_first)
	* [Модель](#модель)
	* [Model](#model)
	* [Проект](#проект)
	* [Project](#project)
	* [Design principles](#design-principles)
	* [Object modelling](#object-modelling-)

<!-- End Document Outline -->

#  [Chapter_first](../Issue/BuchUserGuide_black+.html#%D0%B3%D0%BB%D0%B0%D0%B2%D0%B0-1-%D0%B7%D0%B0%D1%87%D0%B5%D0%BC-%D0%BC%D1%8B-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8%D1%80%D1%83%D0%B5%D0%BC)


## Модель


* Модель - семантически замкнутая абстракция системы
* Модель может быть структурной, подчеркивающей организацию системы, или поведенческой, то есть отражающей ее динамику.
* Задачи  моделирования 
  * визуализировать систему в ее текущем или желательном для нас состоянии;
    * воспринять ее как единое целое
    * заостряя внимание в данный момент только на одном аспекте
  * определить структуру или поведение системы;
  * получить шаблон, позволяющий затем сконструировать систему;
  * документировать принимаемые решения, используя полученные модели.

## Model

* Model is semantically closed abstraction of the sistem
* The model can by structural, emphasizing the organization of the sistem, or behavioral, that is , reflecting its dynamics
* modelling task:
  * **visualize** the sistem in tis current or desirable state for as
    * perceive it as a whole
    * focus on only one aspect at the moment
  * define **structure** or **behavior** of sistem
  * get a **template** to then consruct the sistem
  * **document decisions** made using the resulting models

## Проект 

* возможность создавать проекты на более высоких уровнях абстракции
*  общий язык понятный другим участникам проекта

## Project

* the ability to create projects at higher levels of abstraction
* common language understood by other project participants

## Design principles

1. choosing the right model type
2. one model - several degrees of abstraction
  * aspect what
  * aspect how
3. the closer the model is to rality , the better
4. several indipendent project models are required
  * in OOP the best model is a semantic union of all project representations

## [Object modelling ](../Issue/BuchUserGuide_black+.html#%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE%D0%B5-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)

подходы к моделированию
* алгоритмический 
* объектно-ориетированный

Modelling approaches
* algorithmic
    * mane block - procedure (function)
    * mane action - transfer of control and decomposition of large algorithms to smaler 

* object-oriented
    * mane block - class ( object )
        * named artifact
        * state ( related data )
        * behavior ( changes self or trasfoms other )
    * mane action - implimentation of object paropeties and methods {реализация свойств  методов объекта}

### Simple example

Three-tier architecture
* user inerface
    * buttons
    * menus
    * dialog boxes
* middleware software
* databse
    * tables ( customers, products, orders )



